1. Technical Field
The present disclosure relates to bus communications with memory devices, in particular, to communicating memory system parameters and characteristics across a system memory bus.
2. Related Art
The temperature of a semiconductor memory, such as a RAM (random access memory) is largely determined by its activity level (rate of reads and writes into the memory cells) and its environment. If the temperature becomes too high, then the data stored in the memory may be corrupted or lost. In addition, at higher temperatures, power consumption may increase. In addition, as the temperature of a solid state memory increases, the memory loses charge at a faster rate. If the memory loses charge, then it loses the data that was stored in its memory cells. RAM chips have self-refresh circuitry that restores the lost charge at periodic intervals. As the temperature increases the self-refresh rate must be increased in order to avoid losing the data.
In order to keep the refresh rates low and to avoid damage to the memory or loss of data, some information about the memory temperature must be known. The more accurate the temperature information, the hotter the memory may be permitted to run and the lower the refresh rate may be without risk of data loss. If the temperature information is not reliable or accurate, then the memory will be run at a slower access rate or a faster refresh rate than necessary in order to provide some margin for error. In other words by increasing accuracy, the guard band for temperature control can be reduced. This allows the performance of the memory to be increased. Accurate temperature information may also be used to control cooling fans and other thermal controls.
Memory is often packaged in modules that contain several similar or identical IC (Integrated Circuit) chips, such as DRAM (Dynamic Random Access Memory) chips. The temperature of each chip may be different, depending on its level of use, available cooling and its own unique characteristics. Other devices on the memory module may have different temperatures as well. To be effective, the temperature information should be provided to some system that adjusts parameters of the memory, such as data transfer rates, clock rates, thermal control systems, such as fans, and the self-refresh rate.
In order to accurately monitor all aspects of such a memory module, expensive resources must be used to transfer all of the temperature information to a device that can interpret the information and cause some action to be taken, if necessary. The greater the number of temperature readings and the more frequently they are collected, the greater the resources needed to supply the demand. There are also many other system parameters and characteristics that may need to be communicated from memory regarding error detection, security, usage, etc. The existing communications resources used to connect system memory to a memory controller are used to send data to be read from and written to the memory banks. Any additional circuitry or communication interfaces may significantly increase the cost of the memory module.